Step-Indexed Logical Relations for Probability
نویسندگان
چکیده
It is well-known that constructing models of higher-order probabilistic programming languages is challenging. We show how to construct step-indexed logical relations for a probabilistic extension of a higher-order programming language with impredicative polymorphism and recursive types. We show that the resulting logical relation is sound and complete with respect to the contextual preorder and, moreover, that it is convenient for reasoning about concrete program equivalences. Finally, we extend the language with dynamically allocated first-order references and show how to extend the logical relation to this language. We show that the resulting relation remains useful for reasoning about examples involving both state and probabilistic choice.
منابع مشابه
A note on the transitivity of step-indexed logical relations
We present and discuss a simple semantic approach to force step-indexed logical relations to be transitive.
متن کاملStep-Indexed Relational Reasoning for Countable Nondeterminism
Programming languages with countable nondeterministic choice are computationally interesting since countable nondeterminism arises when modeling fairness for concurrent systems. Because countable choice introduces non-continuous behaviour, it is well-known that developing semantic models for programming languages with countable nondeterminism is challenging. We present a step-indexed logical re...
متن کاملStep-Indexed Syntactic Logical Relations for Recursive and Quantified Types
We present a proof technique, based on syntactic logical relations, for showing contextual equivalence of expressions in a λ-calculus with recursive types and impredicative universal and existential types. We show that for recursive and polymorphic types, the method is both sound and complete with respect to contextual equivalence, while for existential types, it is sound but incomplete. Our de...
متن کاملStep-Indexed Normalization for a Language with General Recursion
The TRELLYS project has produced several designs for practical dependently typed languages. These languages are broken into two fragments—a logical fragment where every term normalizes and which is consistent when interpreted as a logic, and a programmatic fragment with general recursion and other convenient but unsound features. In this paper, we present a small example language in this style....
متن کاملRelating step-indexed logical relations and bisimulations
Operational logical relations and bisimulations are two particularly successful syntactic techniques for reasoning about program equivalence. Although both techniques seem to have common intuitions, their basis is on different mathematical principles: induction for the former, and co-induction for the latter. The intuitive understanding of the two techniques seems more common, but their mathema...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015